package edu.bbu.commonproject.backend.server.model;

import java.io.InputStream;
import java.io.OutputStream;


/**
 * The file POJO class, allow access to properties by setter and getter mehtods.
 */
public class FilePOJO
{
	/** The vesion number. */
	private int version;
	
	/** The owner name. */
	private String owner;
	
	/** The file name. */
	private String fileName;
	
	/** The directory name. */
	private String directoryName;
	
	/** The input file name. */
	private InputStream fileInputStream;
	
	/** The output file name. */
	private OutputStream fileOutputStream;
	
	/**
	 * The constructor.
	 */
	public FilePOJO()
	{
		owner = new String();
		fileName = new String();
		directoryName = new String();
	}
	
	/**
	 * Sets the version number.
	 * @param version the version number.
	 */
	public void setVersion(int version)
	{
		this.version = version;
	}
	
	/**
	 * Gets the version number.
	 * @return the version number.
	 */
	public int getVersion()
	{
		return version;
	}
	
	/**
	 * Sets the owner name.
	 * @param owner the owner name.
	 */
	public void setOwner(String owner)
	{
		this.owner = owner;
	}
	
	/**
	 * Gets the owner name.
	 * @return the owner name.
	 */
	public String getOwner()
	{
		return owner;
	}
	
	/**
	 * Sets the file name.
	 * @param fileName the file name.
	 */
	public void setFileName(String fileName)
	{
		this.fileName = fileName;
	}
	
	/**
	 * Gets the file name.
	 * @return the file name.
	 */
	public String getFileName()
	{
		return fileName;
	}
	
	/**
	 * Sets the directory name.
	 * @param directoryName the directory name.
	 */
	public void setDirectory(String directoryName)
	{
		this.directoryName = directoryName;
	}
	
	/**
	 * Gets the directory name.
	 * @return the directory name.
	 */
	public String getDirectory()
	{
		return directoryName;
	}
	
	/**
	 * Sets the input stream.
	 * @param fileInputStream the input stream.
	 */
	public void setFileInputStream(InputStream fileInputStream)
	{
		this.fileInputStream = fileInputStream;
	}
	
	/**
	 * Gets the input stream.
	 * @return the input stream.
	 */
	public InputStream getFileInputStream()
	{
		return fileInputStream;
	}
	
	/**
	 * Sets the file output stream.
	 * @param fileOutputStream the file output stream.
	 */
	public void setFileOutputStream(OutputStream fileOutputStream)
	{
		this.fileOutputStream = fileOutputStream;
	}
	
	/**
	 * Gets the file output stream.
	 * @return the file output stream.
	 */
	public OutputStream getFileOutputStream()
	{
		return fileOutputStream;
	}
}
